using System;
using System.Collections.Generic;
using Order.Domain.Enum;

namespace Order.Api.Read.Dto.Order
{
    /// <summary>
    /// 药品订单详情DTO
    /// </summary>
    public class DrugOrdersDetailDto
    {
        /// <summary>
        /// 订单ID
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 订单编号
        /// </summary>
        public string? OrderNo { get; set; }

        /// <summary>
        /// 订单金额
        /// </summary>
        public decimal? OrderAmount { get; set; }

        /// <summary>
        /// 订单状态
        /// </summary>
        public DrugOrderStatusEnum? OrderStatus { get; set; }

        /// <summary>
        /// 订单状态名称
        /// </summary>
        public string? OrderStatusName { get; set; }

        /// <summary>
        /// 提交时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 收货人信息
        /// </summary>
        public ConsigneeInfoDto? ConsigneeInfo { get; set; }

        /// <summary>
        /// 货物信息列表
        /// </summary>
        public List<GoodsInfoDto>? GoodsInfoList { get; set; }
    }

    /// <summary>
    /// 收货人信息DTO
    /// </summary>
    public class ConsigneeInfoDto
    {
        /// <summary>
        /// 收货人姓名
        /// </summary>
        public string? Consignee { get; set; }

        /// <summary>
        /// 电话
        /// </summary>
        public string? Phone { get; set; }

        /// <summary>
        /// 收货地址
        /// </summary>
        public string? Address { get; set; }
    }

    /// <summary>
    /// 货物信息DTO
    /// </summary>
    public class GoodsInfoDto
    {
        /// <summary>
        /// 药品名称
        /// </summary>
        public string? DrugName { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public int? Num { get; set; }

        /// <summary>
        /// 规格
        /// </summary>
        public string? Specif { get; set; }

        /// <summary>
        /// 用法用量
        /// </summary>
        public string? Dosage { get; set; }

        /// <summary>
        /// 单价
        /// </summary>
        public decimal? UnitPrice { get; set; }

        /// <summary>
        /// 小计金额
        /// </summary>
        public decimal? SubTotal { get; set; }
    }
}